package log

import (
	"go.uber.org/zap"
)

// InitLogger 初始化日志系统
// logConfig: 日志配置，如果为nil则使用默认配置
// 返回SystemLogger实例，供其他包使用
func InitLogger(logConfig *LogConfig) (*zap.Logger, error) {
	if err := Init(logConfig); err != nil {
		return nil, err
	}

	// 记录日志初始化成功
	if SystemLogger != nil {
		level := "info"
		toFile := false
		development := false
		if logConfig != nil {
			level = logConfig.Level
			toFile = logConfig.ToFile
			development = logConfig.Development
		}
		SystemLogger.Info("log initialized",
			zap.String("level", level),
			zap.Bool("to_file", toFile),
			zap.Bool("development", development))
	}

	return SystemLogger, nil
}
